#!/bin/bash

# 读取用户列表并创建账户
while IFS= read -r username; do
    # 跳过空行
    if [ -z "$username" ]; then
        continue
    fi
    
    # 检查用户名是否符合规范（仅包含字母、数字、下划线和连字符）
    if ! [[ "$username" =~ ^[a-zA-Z0-9_-]+$ ]]; then
        echo "警告：用户名'$username'包含非法字符，已跳过"
        continue
    fi
    
    # 检查用户是否已存在
    if id "$username" &>/dev/null; then
        echo "用户'$username'已存在，已跳过"
        continue
    fi
    
    # 创建用户并设置初始密码
    useradd "$username" -m -s /bin/bash
    echo -e "123456\n123456" | passwd "$username" &>/dev/null
    
    # 设置密码过期，强制用户首次登录时修改密码
    chage -d 0 "$username"
    
    echo " 用户 '$username' 已创建，初始密码为 123456"
done < user.txt

echo "==========="
echo "用户创建完成！请通知用户在首次登录时修改密码"
